// DbCreate.h
#pragma once

#include <string>
#include <vector>
#include "../DbClient/DbClient.h" 
#include "../../generated/common_struct.pb.h"

class DbCreate {
public:
    // 禁止实例化
    DbCreate() = delete;

    // --- 创建节点 ---
    static bool CreateUser(const ::graph::UserNode& user_node, std::string& error_message);
    static bool CreateList(const ::graph::ListNode& list_node, std::string& error_message);
    static bool CreateTodo(const ::graph::TodoNode& todo_node, std::string& error_message);
    static bool CreateComment(const ::graph::CommentNode& comment_node, std::string& error_message);
    static bool CreateEntity(const ::graph::EntityNode& entity_node, std::string& error_message);
    static bool CreateTimeSlot(const ::graph::TimeSlotNode& time_slot_node, std::string& error_message);
    static bool CreateTrendScore(const ::graph::TrendScoreNode& trend_score_node, std::string& error_message);

private:
    // 可以添加一些私有辅助函数来处理通用的 Cypher 构造或参数准备逻辑
    // 例如，处理日期时间字符串、数组等。
};
